<pre>
<?php
define(sa,"\n");
$matriz=array(
	1=>array(1,0,"Titulo 1"),
	2=>array(2,3,"Titulo 2"),
	3=>array(3,4,"Titulo 3"),
	4=>array(4,5,"Titulo 4"),
	5=>array(5,6,"Titulo 5"),
	6=>array(6,7,"Titulo 6"),
	7=>array(7,0,"Titulo 7"),
	8=>array(8,1,"Titulo 8"),
	9=>array(9,8,"Titulo 9")
);
/*
	Titulo 1
		Titulo 8
			Titulo 9
	Titulo 7
		Titulo 6
			Titulo 5
				Titulo 4
					Titulo 3
						Titulo 2

*/
$i=0;
while($matriz){
	foreach($matriz as $key => $value){
		$i++;
		if($value[1]==0){
			$norg[$key][0]=1;
			unset($matriz[$key]);
			continue;# Obtiene si es Fila 0
		}	
		$sta=$norg[$value[1]][0];
		if($sta){
			if(!$norg[$key][2]) $norg[$key][2]=$value[1];
			$norg[$key][2].=":".$norg[$value[1]][2];
			$norg[$key][0]=$sta+1;
			unset($matriz[$key]);
		}
	}
}

print_r($norg);
?>
</pre>